最近一直遇到以下几个问题:
1、JavaScript JS 跨域问题
2、HTTP 错误 405 - 用于访问该页的 HTTP 动作未被许可 HTTP 错误 405.0 - Method Not Allowed
3、Nginx 处理跨域问题、OPTIONS 方法的问题
Method = "OPTIONS" | "GET" | "HEAD" | "POST" | "PUT" | "DELETE" | "TRACE" | "CONNECT" | extension-method
extension-method = token
nginx跨域解决方法
在Nginx location 里加上如下代码可以解决跨域问题,包括以上几个问题都可以得到解决。
具体如下:
在Nginx配置文件nginx.conf加入如下代码:
location / {
# 跨域设置
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Credentials' 'true';
if ( $request_method = 'OPTIONS' ) { return 200; }
}
注意1:
必须放在 location ... { ... }里面才能用if条件判断。
注意2:
如果你遇到错误提示“nginx: [emerg] unknown directive”未知指令。
原因是: if 后面 必须有空格跟括号隔开才行。
解决方法如下:
if ( $request_method = 'OPTIONS' ) { return 200; }
原文出处:https://www.fujieace.com/nginx/request_method-options.html
版权声明:本文来源地址若非本站均为转载,若侵害到您的权利,请及时联系我们,我们会在第一时间进行处理。